package com.tadu.day02.test;

/**
 * 匿名内部类：需要了解抽象类与接口定义与使用---拓展：表达式【JavaAPI】
 * 定义：抽象类/接口   引用=new   抽象类/接口（）{}；
 * 特点：对象只需要创建一次时候
 */
public class 匿名内部类 {
    public static void main(String[] args) {
        //创建接口   实现类    实现    USB接口-----多态性(造型）
        // USB usb=new Jack();
        // usb.read(); usb.write();
        //针对：子实现类有多个需要实现
        //针对：实现一次，创建一次接口对象-----匿名内部类创建：接口，抽象类
        USB usb=new USB(){
            public void write() {
                System.out.println("写");
            }

            public void read() {
                System.out.println("读");
            }
        };
        usb.write(); usb.read();
        //作业2：抽象类使用匿名内部类方法创建出来，并且输出跑，睡方法
        Animal animal=new Animal() {
            public void run() {System.out.println("跑");}
            public void sleep() {System.out.println("睡");}
        };
        animal.run();animal.sleep();
    }

}
//创建接口    USB     功能：   读   写
interface USB{
    public abstract void write();
    public abstract void read();
}
//以往创建接口对象，先创建实现类
class Jack implements USB{
    public void write(){
        System.out.println("写" );
    }
    public void read() {
        System.out.println("读");
    }
}

//创建抽象类   Animal   功能：   跑  睡
abstract class Animal{
    public abstract void run();
    public abstract void sleep();
}